home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2002 #11
/
Amiga Plus CD - 2002 - No. 11.iso
/
Tools
/
Development
/
PowerD
/
powerd
/
source
/
lib
/
powerd_lib.lha
/
PowerD_PPC
/
Rnd.ass
< prev
next >
Wrap
Text File
|
2002-02-10
|
513b
|
39 lines
# Rnd(seed:r3:LONG)(LONG)
.text
.sdreg r2
.global _Rnd
_Rnd: mflr r9
bl .jmp
.rnd: .long 0
.jmp: mflr r10
mtlr r9
mr. r5,r3
blt .set
subi r4,r5,1
lwz r3,0(r10)
.l2: addco. r3,r3,r3
bgt .l3
xoris r3,r3,0x1d87
xori r3,r3,0x2b41
.l3: srwi. r4,r4,1
bne .l2
stw r3,0(r10)
mr. r5,r5
bne .l4
rotlwi. r3,r3,16
b .l5
.l4: andi. r3,r3,0xffff
andi. r5,r5,0xffff
mullw r3,r3,r5
.l5: rotlwi. r3,r3,16
andi. r3,r3,0xffff
blr
.set: neg r5,r5
stw r5,0(r10)
blr
.type _Rnd,@function
.size _Rnd,$-_Rnd